In conventional test systems a run length encoding (RLE) algorithm is used to compress vector data of a pattern to reduce the tester (sequencer) memory footprint of the test pattern. The compression can be done by the software (or user) and the decompression can be done by a test processor sequencer program. Conventional RLE algorithms can only compress the data if there is a consecutive repeating pattern in the program. In some cases (such as pseudo random bit sequences—PRBS) the data has no consecutive repeating sequences. A test program can be huge in size (for example even larger than 200 MB) and sometimes cannot be even loaded into a tester memory. Furthermore, a further growth of such test programs is expected for the future.
FIGS. 7A-7D show an example how a conventional run length encoding algorithm is performed.
A sequence of data as shown in FIG. 7A having the length of 18 is assumed. For reasons of simplicity it is assumed that all blocks have the same length.
Using a conventional run length encoding algorithm this sequence in FIG. 7A can be compressed to the sequence shown in FIG. 7B having the length 9, and thereby achieving a compression factor of 2.
But when the data looks like shown in FIG. 7C, it can only be compressed to the sequence shown in FIG. 7D having a length of 16.